package com.zbkj.service.dividend.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zbkj.common.request.PageParamRequest;
import com.zbkj.service.dividend.model.DividendPoolConfig;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 分红档位配置 Mapper 接口
 */
public interface DividendPoolConfigMapper extends BaseMapper<DividendPoolConfig> {

    /**
     * 分页查询分红档位配置
     */
    List<DividendPoolConfig> findPageList(@Param("pageParamRequest") PageParamRequest pageParamRequest);

    /**
     * 查询所有启用的分红档位配置
     */
    List<DividendPoolConfig> findAllActive();

    /**
     * 根据档位金额查询
     */
    DividendPoolConfig findByLevel(@Param("level") Integer level);

    /**
     * 检查档位是否存在
     */
    int countByLevel(@Param("level") Integer level);

    /**
     * 检查档位是否存在（排除指定ID）
     */
    int countByLevelExcludeId(@Param("level") Integer level, @Param("excludeId") Integer excludeId);

    /**
     * 根据投资金额获取合适的分红档位
     */
    DividendPoolConfig findSuitableLevel(@Param("investmentAmount") Integer investmentAmount);

    /**
     * 更新状态
     */
    int updateStatus(@Param("id") Integer id, @Param("isActive") Boolean isActive);
}